1. Field of the Invention
The present invention relates to machine vision systems, and more particularly to machine vision systems for detecting the position of an object.
2. Description of Background Information
Many manufacturing processes are automated to enhance speed and efficiency. For example, in the assembly of printed circuit boards (PCBs), robotic arms are often used to insert surface mounted devices (SMDs), such as semiconductor chips, resistors, and capacitors, onto the PCBs. Machine vision systems assist in the automated manufacturing process. Generally, in a machine vision system, a digital picture of the manufacturing area of interest is taken and interpreted by a computer. Machine vision systems perform a variety of tasks, including machine guidance (e.g., guiding the robotic arm to insert its SMD at the correct location), part identification, gauging, alignment, and inspection.
One particular task performed by machine vision systems is the task of position detection or pattern recognition. In position detection problems, a description of the object of interest is given to the machine vision system, which then applies a position detection algorithm to find the location of the object in images taken during the manufacturing process.
Conventional pattern matching algorithms include the so-called xe2x80x9ccaliperxe2x80x9d and xe2x80x9cblobxe2x80x9d matching algorithms. The caliper algorithm is modeled after a mechanical caliper. The developer specifies the desired separation between the caliper xe2x80x9cjawsxe2x80x9d xe2x80x94or the approximate distance between parallel edge pairs of interest on the object. The vision system then searches the image for a pair of parallel edges that match the given description. Blob matching algorithms locate objects by searching an image for connected areas of similar intensity with an area that matches an area given by the developer.
One disadvantage associated with the blob and caliper pattern recognizing algorithms, however, is the restricting nature of the required input parameters. For example, for the caliper algorithm, distinctive parallel edges must be present on the object, and for the blob algorithm, the developer must be able to measure the area of the object. Measuring the area of the object may not be easy, particularly if the object has convex or concave edges.
Thus, as described above, with conventional pattern matching algorithms, measuring appropriate object input parameters may be troublesome.
It is an object of the present invention to provide improved pattern matching methods and systems.
One aspect of the present invention is a computer vision system comprising a plurality of components, including: a camera, a processor connected to the camera, and a computer memory. The processor receives images taken by the camera, the images including images of an object. The computer memory is coupled to the processor and stores a first linear dimension measurement and a second linear dimension measurement of the object. The computer instructions, when executed by the processor, detect a mid-point of the object by calculating maximum distances between edge pixels in the image for each of a plurality of orientations of an orthogonal coordinate system and comparing the calculated maximum distances to the first and second length dimensions.
A second aspect of the present invention is directed to a method of detecting a position of an object in an image. The method comprises receiving a first linear dimension measurement and a second linear dimension measurement of an object, the direction of the first and second dimension measurements being orthogonal to one another. Maximum distances are calculated between edge pixels in the image in the direction of the linear dimensions, the maximum distance being calculated for each of a plurality of orientations of the first and second orthogonal dimensions in the image. Further, local minima and maxima are detected from a curve defined by the maximum distances and the plurality of orientations of the first and second orthogonal dimensions, and the position of the object is calculated based on the local minima or maxima that are closest to the received first and second linear dimension measurements.
A third aspect of the present invention is a method of recognizing a target component image from a larger image having a plurality of component images. The method comprises receiving a first linear dimension measurement and a second linear dimension measurement of an object corresponding to the target component image and segmenting the larger image into the plurality of component images. Additional, an error an error amount is calculated for each of the plurality of component images based on a calculation of maximum distances between edge pixels in each of the component images for each of a plurality of orientations of an orthogonal coordinate system defined by the first and second linear dimensions and comparing the calculated maximum distances to the first and second linear dimensions. Finally, the target component image is recognized as the component image with the smallest error amount.